@keyframes placeholderShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.listCard {
  width: 100%;
  display: flex;
  flex-direction: column;
  .placeholder {
    position: relative;
    background: #f5f5f5;
    border-radius: 10px;
    overflow: hidden;
    min-height: 100px;
    &::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, #f5f5f5 25%, #e8e8e8 50%, #f5f5f5 75%);
      background-size: 200% 100%;
      animation: placeholderShimmer 1.5s infinite linear;
    }

    .cardCover {
      opacity: 0;
      transition: opacity 0.3s ease;
    }
  }

  .cardCover {
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
  }
  .cardInfo {
    display: flex;
    flex-direction: column;
    padding: 12px;
    .title {
      font-weight: 500;
      .text-overflow(2);
      margin-bottom: 8px;
    }
    .author {
      display: flex;
      justify-content: space-between;
      align-items: center;

      .authorInfo {
        display: flex;
        .avatarImg {
          width: 20px;
          height: 20px;
          border-radius: 50%;
          margin-right: 6px;
        }
        .authorName {
          margin-right: 5px;
          color: var(--text-color);
          font-size: 12px;
        }
      }
      .hotInfo {
        flex: 1;
        color: var(--text-secondary-color);
        font-size: 12px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        .hot {
          margin-left: 5px;
        }
      }
    }
  }
}
